const cloud = require('wx-server-sdk')

cloud.init({
  // API 调用都保持和云函数当前所在环境一致
  env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
  // 获取 WXContext (微信调用上下文)，包括 OPENID、APPID、及 UNIONID（需满足 UNIONID 获取条件）等信息
  const wxContext = cloud.getWXContext()
  const db = cloud.database()
  const _ = db.command
  // 查询表中是否已有用户信息,没有用户信息,就把用户信息添加数据库
  let queryResult =( await db.collection('user').where({
    _openid: wxContext.OPENID
  }).count()).total
  if (queryResult <= 0) {
    await db.collection('user').add({
      data: {
        _openid: wxContext.OPENID,
        date: db.serverDate(),//注册时间
        growthValue: 0, //总步数
        isLocked: false, //用户是否锁定
        point:0,//用户初始积分
        memberExpDate:new Date('1970-01-01')//初始值为早于当前时间，即会员vip过期
      }
    })
  }
  // 查询用户信息,查看用户是否锁定(用户非第一次登录就起到查询信息作用)
  const userInfo = (await db.collection('user').where({
    _openid: wxContext.OPENID
  }).get()).data[0]


  return {
    openid: wxContext.OPENID,//用户id
    isLocked: userInfo.isLocked //是否锁定
  }
}